Many companies and other organizations operate computer networks that interconnect numerous computing systems to support their operations, such as with the computing systems being co-located (e.g., as part of a local network) or instead located in multiple distinct geographical locations (e.g., connected via one or more private or public intermediate networks). For example, distributed systems housing significant numbers of interconnected computing systems have become commonplace. Such distributed systems may provide back-end services to web servers that interact with clients. Such distributed systems may also include data centers that are operated by entities to provide computing resources to clients. Some data center operators provide network access, power, and secure installation facilities for hardware owned by various clients, while other data center operators provide “full service” facilities that also include hardware resources made available for use by their clients.
As the scale and scope of distributed systems have increased, the tasks of provisioning, administering, and managing resources of the distributed systems have become increasingly more complicated. A distributed system referred to herein as a “provider network” may offer, to various clients, access to computing resources and services implemented using the distributed system. When clients access such resources remotely, the resources may be said to reside “in the cloud” and may represent cloud computing resources. For example, using such resources, the provider network may store data on behalf of clients in various types of storage solutions. The provider network may offer various types of services for managing the cloud computing resources, including storage-related services for managing stored data.
For various reasons, some pieces of data stored in a distributed system, such as a provider network, for a client may be accessed less frequently than other pieces of data. Also delays in access to some pieces of data stored in a distributed system for a client may have less of an impact on the client's operations than delays in accessing other pieces of data stored in the distributed system for the client. As access requirements change, some pieces of data stored in a distributed system may end up being stored on resources that meet greater (and more costly) access requirements for the pieces of data than necessary to meet the client's needs. For clients that store large quantities of such pieces of data, storage of the pieces of data in such higher performance resources may lead to an inefficient allocation of storage resources and unnecessary storage costs.
In some situations less frequently accessed pieces of data may be relocated to a lower cost storage. This may reduce storage costs and remove the less frequently accessed pieces of data from a higher performance storage, thus improving performance of the higher performance storage. In some instances, the less-frequently accessed pieces of data may be stored in a remote storage that is remote from a primary storage. Storing the less-frequently accessed pieces of data in a remote storage may make analysis and look-up of the less-frequently accessed pieces of data more resource intensive and slower than when the pieces of data are stored in the primary storage. In some circumstances, additional resources and time required to access pieces of data stored remotely may be minimal due to the infrequent nature access requests for the data. However, in other circumstances such resource costs and delays may negatively impact performance and client experience.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning “having the potential to”), rather than the mandatory sense (i.e., meaning “must”). Similarly, the words “include,” “including,” and “includes” mean “including, but not limited to.”